/*
 * cTemplateState.h
 *
 *  Created on: 11.2.2009
 *      Author: jari.ravantti
 *
 *  This is a template state for creating StateManager states
 */

#ifndef CTEMPLATESTATE_H_
#define CTEMPLATESTATE_H_
#include "CStateBase.h"

using namespace std;
class CTemplateState: public CStateBase {
public:
	void Init(); //state init function
	void Cleanup(); //state cleanup function

	void Pause(); //pause for state
	void Resume(); //resume from pause

	void HandleEvents(CStateManager* main); // Event handler for state
	void Update(CStateManager* main); // Update function for state
	void Draw(CStateManager* main); // Draw function for state

	static CTemplateState* Instance() { // State instance for state stack
		return &m_TemplateState;
	}

protected:
	//Constructor
	CTemplateState() {
	}

private:
	static CTemplateState m_TemplateState;

};

#endif /* CTemplateState_H_ */
